package com.ruoyi.system.domain;

import java.util.Date;
import java.util.Set;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 来客访记对象 sys_visitor
 * 
 * @author ruoyi
 */
public class SysVisitor extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 访客姓名 */
    @Excel(name = "访客姓名")
    private String visitorName;

    /** 访客手机号 */
    @Excel(name = "访客手机号")
    private String visitorPhone;

    /** 访客身份证号 */
    @Excel(name = "访客身份证号")
    private String visitorIdCard;

    /** 被访老人ID */
    @Excel(name = "被访老人ID")
    private Long elderUserId;

    /** 被访老人姓名 */
    @Excel(name = "被访老人姓名")
    private String elderName;

    /** 来访时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "来访时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date visitTime;

    /** 离开时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "离开时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date leaveTime;

    /** 来访事由 */
    @Excel(name = "来访事由")
    private String visitReason;

    /** 状态（0正常 1已离开） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=已离开")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private Set<Long> elderUserIds;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setVisitorName(String visitorName) 
    {
        this.visitorName = visitorName;
    }

    public String getVisitorName() 
    {
        return visitorName;
    }

    public void setVisitorPhone(String visitorPhone) 
    {
        this.visitorPhone = visitorPhone;
    }

    public String getVisitorPhone() 
    {
        return visitorPhone;
    }

    public void setVisitorIdCard(String visitorIdCard) 
    {
        this.visitorIdCard = visitorIdCard;
    }

    public String getVisitorIdCard() 
    {
        return visitorIdCard;
    }

    public void setElderUserId(Long elderUserId) 
    {
        this.elderUserId = elderUserId;
    }

    public Long getElderUserId() 
    {
        return elderUserId;
    }

    public void setElderName(String elderName) 
    {
        this.elderName = elderName;
    }

    public String getElderName() 
    {
        return elderName;
    }

    public void setVisitTime(Date visitTime) 
    {
        this.visitTime = visitTime;
    }

    public Date getVisitTime() 
    {
        return visitTime;
    }

    public void setLeaveTime(Date leaveTime) 
    {
        this.leaveTime = leaveTime;
    }

    public Date getLeaveTime() 
    {
        return leaveTime;
    }

    public void setVisitReason(String visitReason) 
    {
        this.visitReason = visitReason;
    }

    public String getVisitReason() 
    {
        return visitReason;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public Set<Long> getElderUserIds() {
        return elderUserIds;
    }

    public void setElderUserIds(Set<Long> elderUserIds) {
        this.elderUserIds = elderUserIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("visitorName", getVisitorName())
            .append("visitorPhone", getVisitorPhone())
            .append("visitorIdCard", getVisitorIdCard())
            .append("elderUserId", getElderUserId())
            .append("elderName", getElderName())
            .append("visitTime", getVisitTime())
            .append("leaveTime", getLeaveTime())
            .append("visitReason", getVisitReason())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
} 